package com.etocrm.saas.lib.base.resource.config;


import java.lang.annotation.*;
import java.util.concurrent.TimeUnit;

@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
@Documented
public @interface Limit {

    //1秒内，最多的访问限制次数
    double permitsPerSecond()default 2;

    //获取令牌最大等待时间
    long timeout() default 0;

    //获取令牌最大等待时间,单位(例:分钟/秒/毫秒) 默认:毫秒
    TimeUnit timeunit() default TimeUnit.MILLISECONDS;

    //得不到令牌的提示语
    String msg() default "系统繁忙,请稍后再试！";

    //是否指定IP，默认不指定
    boolean isAppointIp() default false;

    //指定IP允许限制次数,如果不指定，则使用总请求次数
    double ipCount() default 0;

}
